package cn.zhfeat.hatch.rpc;


import cn.zhfeat.hatch.dto.store.BaseStoreInfoDto;
import cn.zhfeat.hatch.dto.store.BaseStoreToUserDto;
import cn.zhfeat.hatch.entity.store.BaseStoreInfo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @description: 门店信息相关Rpc服务
 *
 * @author ZhangHao
 * @date 2018年5月3日 下午3:33:14 
 * @version 1.0.0.1
 */
public interface IBaseStoreInfoRpcService {


	/**
	 * @description: 根据关键字查询所有门店信息
	 * 	原方法：public List<BmStore> getAllStore(String key_word, String startIndex, String page_size,String tenant_id);
	 *
	 * @param dto
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月3日 下午4:40:16 
	 * @version 1.0.0.1
	 */
	public List<BaseStoreInfo> findListByDto(BaseStoreInfoDto dto);
	
	
	/**
	 * @description: 列表页分页信息
	 *
	 * @param dto
	 * @author ZhangHao
	 * @date 2018年5月3日 下午8:16:36 
	 * @version 1.0.0.1
	 */
	public PageInfo<BaseStoreInfo> ajaxPageList(BaseStoreInfoDto dto);
	
	
	/**
	 * @description: 根据条件定位一条门店信息
	 * 原方法:List<BmStore> findByName(Map<String, Object> map);
	 *
	 * @param dto
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午6:14:00 
	 * @version 1.0.0.1
	 */
	public BaseStoreInfo findEntityByType(BaseStoreInfoDto dto);
	
	
	/**
	 * @description: 查询符条件的门店总数
	 * 原方法:int countStore(Map<String, Object> map);
	 *
	 * @param dto
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午6:36:44 
	 * @version 1.0.0.1
	 */
	public Integer selectCountByType(BaseStoreInfoDto dto);
	
	
	/**
	 * @description: 插入门店数据并返回自增ID
	 * 原方法：BmStore addStore(BmStore store);
	 * @param entity
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午6:44:56 
	 * @version 1.0.0.1
	 */
	public BaseStoreInfo insertSelective(BaseStoreInfo entity);
	
	
	/**
	 * @description: 根据主键ID更新门店数据，如果id为null或updateTime为null则返回0，标识更新失败
	 *		逻辑删除也调用此方法。
	 * 原方法:1、public Integer updateStore(BmStore store);
	 *        2、public Integer deleteStore(Long id,String tenant_id);
	 *        两个方法合并为一个方法
	 * @param entity
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午7:00:46 
	 * @version 1.0.0.1
	 */
	public Integer updateSelective(BaseStoreInfo entity);

	/**
	 * 
	 * @Description: 查询相同门店数量
	 * 
	 * @author: ZhangHao
	 * @date:   2018年5月27日 下午1:14:35
	 * @version 1.0.0.1
	 */
	public Integer getCountByType(BaseStoreInfoDto baseStoreInfoDto);
	
	/**
	 * 
	 * @Description: 修改门店用户关系
	 * 
	 * @author: ZhangHao
	 * @date:   2018年5月31日 下午6:03:46    
	 * @version 1.0.0.1
	 */
	public Integer updateBaseStoreToUserByType(BaseStoreToUserDto storeToUserDto);
	
}





























